home *** CD-ROM | disk | FTP | other *** search
/ Komputer for Alle: Internet utan modem / Internet CD.iso / web / computer / wwweps~1.com / adam / galactic.dcr / 00179.ls < prev    next >
Encoding:
Text File  |  1997-03-06  |  2.3 KB  |  93 lines

  1. on bosscreate
  2.   global bosslife, bossright
  3.   set the locV of sprite 12 to -500
  4.   set the locH of sprite 12 to 250
  5.   set the castNum of sprite 12 to 143
  6.   set bosslife to 2000
  7.   set bossright to 2
  8. end
  9.  
  10. on bossanimate
  11.   global bulletlist, max_bullets, bossright, bosslife
  12.   if the locV of sprite 12 < 150 then
  13.     set the locV of sprite 12 to the locV of sprite 12 + 5
  14.   end if
  15.   set the visible of sprite 12 to 1
  16.   set the locH of sprite 12 to the locH of sprite 12 + bossright
  17.   if the left of sprite 12 < 0 then
  18.     set bossright to bossright + 1
  19.   end if
  20.   if the right of sprite 12 > 540 then
  21.     set bossright to bossright - 1
  22.   end if
  23.   if bossright > 5 then
  24.     set bossright to 5
  25.   end if
  26.   if bossright < -5 then
  27.     set bossright to -5
  28.   end if
  29.   if random(20) = 1 then
  30.     addlittleship()
  31.   end if
  32.   if random(5) = 1 then
  33.     bossfire()
  34.   end if
  35.   set the ink of sprite 12 to 8
  36.   repeat with n = 5 to 4 + max_bullets
  37.     if sprite n intersects 12 then
  38.       set the ink of sprite 12 to 4
  39.       set bosslife to bosslife - 25
  40.       set the visible of sprite n to 0
  41.       set the locH of sprite n to 0
  42.       setAt(bulletlist, n - 4, 0)
  43.     end if
  44.   end repeat
  45. end
  46.  
  47. on bossfire
  48.   global boss_bulletlist, boss_bullets
  49.   repeat with n = 1 to boss_bullets
  50.     if getAt(boss_bulletlist, n) = 0 then
  51.       set y to abs(the locV of sprite 12 + 100 - the locV of sprite 10)
  52.       set x to abs(the locH of sprite 12 - the locH of sprite 10)
  53.       if x = 0 then
  54.         set x to 0.0001
  55.       end if
  56.       set x to x * 1.0
  57.       set y to y * 1.0
  58.       set angle to atan(float(y / x))
  59.       set h to cos(angle)
  60.       set V to sin(angle)
  61.       if the key = "a" then
  62.         put "x"
  63.         put x
  64.         put "y"
  65.         put y
  66.         put "angle"
  67.         put angle
  68.         put "h"
  69.         put h
  70.         put "v"
  71.         put V
  72.       end if
  73.       if the locH of sprite 10 <= the locH of sprite 12 then
  74.         set h to -h
  75.       end if
  76.       if the locV of sprite 10 <= the locV of sprite 12 then
  77.         set V to -V
  78.       end if
  79.       setAt(boss_bulletlist, n, birth(script "boss", n + 12, h * 15, V * 15))
  80.       exit
  81.     end if
  82.   end repeat
  83. end
  84.  
  85. on addlittleship
  86.   global lil_list
  87.   repeat with n = 1 to 3
  88.     if getAt(lil_list, n) = 0 then
  89.       setAt(lil_list, n, birth(script "lil_ship script", n + 22))
  90.     end if
  91.   end repeat
  92. end
  93.